package me.android.library.common.service.monitor;

/**
 * 基础连接监控接口
 * 定义所有连接监控的通用方法
 */
public interface ConnectionMonitor {
    // 服务状态枚举
    enum ServiceState {
        RUNNING, PAUSED, STOPPED
    }

    // 连接类型枚举
    enum ConnectionType {
        BLUETOOTH, WIFI_P2P
    }

    /**
     * 启动监控服务
     */
    void startMonitoring();

    /**
     * 停止监控服务
     */
    void stopMonitoring();

    /**
     * 暂停监控
     */
    void pauseMonitoring();

    /**
     * 恢复监控
     */
    void resumeMonitoring();

    /**
     * 获取当前服务状态
     */
    ServiceState getServiceState();

    /**
     * 添加连接状态监听器
     */
    void addConnectionStatusListener(ConnectionStatusListener listener);

    /**
     * 移除连接状态监听器
     */
    void removeConnectionStatusListener(ConnectionStatusListener listener);

    /**
     * 连接状态监听器接口
     */
    interface ConnectionStatusListener {
        void onConnectionStateChanged(ConnectionType type, boolean isConnected, String deviceName);
    }
}
